package Aula04;
import java.util.Scanner;


public class Ex4 {
   
public static void main(String[] args) {
     int[] values = values();              // int mes = values[0]  ano = values[1]  startday = values[2]
     int[] dias = daysOfMonth(values[1]);
     printing(values[0],values[1],dias,values[2]);

}


public static int[] values(){

        Scanner sc = new Scanner(System.in);
        System.out.println("Write your date and starting day of that month (Feb/2019-> 02/2019/5");
        String str= sc.nextLine();
        String[] split = str.split("/");

        int size = split.length;
        int [] dados = new int [size];
        for(int i=0; i<size; i++) {
           dados[i] = Integer.parseInt(split[i]);
        }

        if (dados[0] < 1 || dados[0] > 12)
                System.out.println("Invalid date!");

        return dados;
}



public static int[] daysOfMonth(int year){
       
        

        int[] days = {
                0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
            };

            for (int i = 1; i <= 12; i++) {

            if  (((year%4==0) || (year%400==0)) && i == 2)  // dias ano bissexto
                days[i] = 29;
            }

            return days;
        }


public static String printing(int mes,int ano,int[] dias, int pDia){

        String[] totalMonths = {
                "",                           
                "January", "February", "March",
                "April", "May", "June",
                "July", "August", "September",
                "October", "November", "December"
        };


        System.out.println("          "+ totalMonths[mes] + " " + ano);
        System.out.println("--------------------------------");
        System.out.println(" Sun  Mon  Tue  Wed  Thu  Fri  Sat");

        for (int i = 0; i < pDia; i++)
                System.out.print("     ");
            for (int i = 1; i <= dias[mes]; i++) {
                System.out.printf(" %3d ", i);
                if (((i + pDia) % 7 == 0) || (i == dias[mes])) System.out.println();
            }
            System.out.println();

        return null;
   }
}